1. Field of the Invention
The present invention relates generally to the field of software applications. More particularly, it concerns a software program for browsing the data structure of a plurality of arbitrary relational databases.
The microfiche appendix to this specification contains copyrighted computer program source code that is owned by the assignee of this application. Permission is granted to make a single facsimile copy of the microfiche appendix, in microfiche form, for each facsimile copy that is made of any patent issuing from this application or from any application claiming priority hereon. All other rights in the computer program source code, under copyright or otherwise, are reserved.
2. Description of Related Art
A database is a collection of files for storing related information. A relational database is a database in which a collection of tables contains database records where each record within a single table is comprised of a set of fields common to all records in that table.
In some relational databases, the data can be accessed along complex dimensions using the standard query language (SQL). Such databases make it convenient to look tip information based on specifications derived from a semantic frame.
Furthermore, each database has a data structure. A data structure is defined as a physical or logical relationship among data elements, designed to support specific data manipulation functions.
Relational databases have become the subject of significant recent interest, not only because of the increasing volume of data being stored and retrieved by these computerized databases but also by virtue of the data structures across these databases. Many types of relational databases exist today, e.g., MICROSOFT ACCESS(copyright), manufactured by the Microsoft Corporation of Redmond, Wash., ORACLE(copyright), manufactured by the Oracle Corporation of Redwood Shores, Calif., and SYBASE(copyright), manufactured by Sybase, Inc. of Dublin, Calif., etc. As a result, a variety of types of databases and database structures exist. As the need to cross-reference one record from one database with another records in another database increases, the ability to view data structures across different relational databases all at one becomes important. Currently, it is believed that viewing data structures across a plurality of relational databases has been thought to be difficult, if not impossible, primarily due to the incompatibility of the various databases. The present invention provides a solution to this problem by giving a database user the ability to view the data structure of a plurality of arbitrary relational database structures all at once.
A machine-executed method and apparatus are provided to display the data structure of a plurality of relational databases of arbitrary structure in a browseable formnat. Each database comprises a plurality of tables. Each table contains one or more fields and one or more records. Each table and each field has a name. The method includes several steps.
The respective structure of the plurality of relational databases is determined, e.g.,. by a graphical-user-interface data entry technique or by manually editing one or more files. Each database may have its own arbitrary structure. The respective structures are integrated into a front-end integrated data structure. This entails (a) removing the conflicting names of tables and fields in the front-end integrated data structure, and/or (b) performing a join operation to establish a xe2x80x9clinkxe2x80x9d between selected fields in at least two respective tables, where each table is in a separate respective database.
In removing the conflicting names, a name is selected, followed by displaying a cross-reference list of uses of the selected name in the plurality of relational databases. The selected name is then edited with another name more suitable to the user, referred to as an xe2x80x9calias.xe2x80x9d Once the selected name is renamed with its xe2x80x9caliasxe2x80x9d name, the xe2x80x9caliasxe2x80x9d name is displayed in lieu of the selected name.
When portions of two or more database tables are joined to create a xe2x80x9cvirtualxe2x80x9d table by definition, the database tables contain at least one related field. For purposes of the xe2x80x9cvirtualxe2x80x9d table, the selected field in one database table is designated as a xe2x80x9cprimary key,xe2x80x9d while the corresponding selected field in the other joined database table is designated as a xe2x80x9cforeign key.xe2x80x9d
Once the structures of the plurality of relational databases are integrated into the front-end integrated data structure, the front-end integrated data structure is displayed as a hierarchical containment tree of folders. That is, the structure is displayed along with a category of folders. Each folder contains a category of folders below it within the hierarchy.
In an alternative embodiment, once the respective structures are determined, a combined list of tables in the respective databases is displayed; a table in the list is selected; a list of fields for the selected table is displayed; a field in the list of fields is selected; and the selected field descriptor information for the selected field is displayed. Field descriptor information generally contains, among other pertinent information, a cross-reference list of uses of the selected field in the respective databases.
The present invention has a number of advantages, among them being the ability to view, edit, or reorganize the data structures of one or more relational databases in a browseable format. Another advantage of the present invention is the flexibility to rename the fields and tables of the various relational databases with other names more suitable to the user. This feature may help the user to organize the information he obtained from the integrated data structure.